package com.cjzuji.rental.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;
/**
 * @author bag
 * @version V1.0
 * @date 2025/6/13 9:41
 * @since 1.0
 */
@Data
@Accessors(chain = true)  //链式调用 可以连续调用setter方法而不需要每次都创建新的对象实例
@TableName("orders")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Orders {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;  //订单id

    @TableField(value = "shop_id")
    private int shopId;  // 店铺名称

    @TableField(value = "platform_id")
    private int platformId; // 平台名称

    @TableField(value = "order_id")
    private String orderId;  //订单编号

    @TableField(value = "real_name")
    private String realName;  //姓名

    @TableField(value = "phone")
    private String phone;  //电话

    @TableField(value = "opinion")
    private String opinion;  //风控意见

    @TableField(value = "assigner")
    private String assigner;  //分配人

    @TableField(value = "order_id_tag")
    private String orderIdTag;  //平台订单ID

    @TableField(value = "car_brand")
    private String carBrand;  //产品备注

    @TableField(value = "colour")
    private String colour;  //产品属性

    @TableField(value = "sku")
    private String sku;  //产品SKU

    @TableField(value = "actual_fiancing_amount")
    private double actualFiancingAmount;   //总租金

    @TableField(value = "buyout_amount")
    private double buyoutAmount; //买断价

    @TableField(value = "discount_amount")
    private double discountAmount;   //优惠金额

    @TableField(value = "month_repayment")
    private double monthRepayment;  //月租金

    @TableField(value = "bond_free_credit_amt")
    private double bondFreeCreditAmt;   //订单总金额

    @TableField(value = "surplus_bond_amt")
    private double surplusBondAmt;  //押金

    @TableField(value = "lease_term")
    private String leaseTerm;  //租期

    @TableField(value = "id_auth_status")
    private int idAuthStatus;    //身份证上传状态 0 未上传 1 已上传

    @TableField(value = "rent_start_time")
    private String rentStartTime;  //租赁开始时间
    @TableField(value = "rent_last_time")
    private String rentLastTime;   //租赁结束时间

    @TableField(value = "status")
    // 0 待审核  1待发货 2已发货 3租用中 4 逾期 5 关闭  6诉讼 7 状态未知
    private int status;  //订单状态

    @TableField(value = "screen_risks_amount")
    private double screenRisksAmount;   //碎屏险实付金额

    @TableField(value = "screen_risks_type")
    private int screenRisksType;  //碎屏状态 0 未支付 1 支付

    @TableField(value = "delivery_no")
    private String deliveryNo;   //快递单号

    @TableField(value = "create_time")
    private String createTime;

    @TableField(value = "update_time")
    private Date updateTime;


}
